﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UsersForms
{
    public partial class Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();

            Count = -1;//添加是count的值为-
        }
      
        //这是form4的有参构造函数，在更新数据的数据会调用
        public Form4(string name,string age,string sex,string id)
        {
            InitializeComponent();
            textBox1.Text = name;
            textBox2.Text = age;
            textBox3.Text = sex;

            ID = id;
            Count = 1;
        }

        public int Count { get; set; }//为区别更新和添加，添加的时候调用无惨构造函数则count=-1，更新的时候调用有参构造函数则count=1

        public string ID { get; set ;}//更新的时候要用到

        /// <summary>
        /// 这个窗口是提供添加和修改的
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>


        //确定
        private void button1_Click(object sender, EventArgs e)
        {
            var name = textBox1.Text;
            var avg = textBox2.Text;
            var sex = textBox3.Text;

            if(Count==-1)//调用了无参构造函数，所以是执行添加的操作
            {
                //下面代码我们从注册哪里复制过来的，然后修改了一点，不懂回过去看看
                string sql = string.Format("insert into School values('{0}','{1}','{2}')", name, avg,sex);

                var n = DBHelper.DeleteUpdateInsert(sql);

                if (n >= 1)
                {
                    MessageBox.Show("添加成功");

                    this.Close();
                }
                else
                {
                    MessageBox.Show("添加失败");
                }
            }
            else//否则count=1，执行更新的操作
            {
                //下面的代码我是直接从什么复制下来的，很类似，
                string sql = string.Format("update School set names='{0}',avgs={1},sex='{2}' where id={3}", name, avg, sex,ID);//这里的ID来自我定义的一个属性，在调用了有参构造函数的时候已经赋值

                var n = DBHelper.DeleteUpdateInsert(sql);

                if (n >= 1)
                {
                    MessageBox.Show("更新成功");
                    this.Close();

                }
                else
                {
                    MessageBox.Show("更新失败");
                }
            }
        }

        //取消
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
